Re: [PATCH RESEND 1/2 block#for-linus] bio, fs: update READA and SWRITE to match the corresponding B

Tejun Heo <tj [at] kernel.org> writes:

> Commit a82afdf (block: use the same failfast bits for bio and request)
> moved BIO_RW_* bits around such that they match up with REQ_* bits.
> Unfortunately, fs.h hard coded READ, WRITE, READA and SWRITE as 0, 1,
> 2 and 3, and expected them to match with BIO_RW_* bits. READ/WRITE
> didn't change but BIO_RW_AHEAD was moved to bit 4 instead of bit 1,
> breaking READA and SWRITE.
>
> This patch updates READA and SWRITE such that they match the BIO_RW_*
> bits again. A follow up patch will update the definitions to directly
> use BIO_RW_* bits so that this kind of breakage won't happen again.
>
> Stable: The offending commit a82afdf was released with v2.6.32, so
> this patch should be applied to all kernels since then but it must
> _NOT_ be applied to kernels earlier than that.

Would someone be so kind as to remind me how this problem manifests
itself? I know I read this recently, but my memory and googling skills
are both failing me. :(

Cheers,
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo [at] vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Jeff Moyer [ Do, 05 August 2010 20:45 ] [ ID #2045557 ]

Re: [PATCH RESEND 1/2 block#for-linus] bio, fs: update READA andSWRITE to match the corresponding BI

Jeff Moyer, on 08/05/2010 10:45 PM wrote:
> Tejun Heo<tj [at] kernel.org> writes:
>
>> Commit a82afdf (block: use the same failfast bits for bio and request)
>> moved BIO_RW_* bits around such that they match up with REQ_* bits.
>> Unfortunately, fs.h hard coded READ, WRITE, READA and SWRITE as 0, 1,
>> 2 and 3, and expected them to match with BIO_RW_* bits. READ/WRITE
>> didn't change but BIO_RW_AHEAD was moved to bit 4 instead of bit 1,
>> breaking READA and SWRITE.
>>
>> This patch updates READA and SWRITE such that they match the BIO_RW_*
>> bits again. A follow up patch will update the definitions to directly
>> use BIO_RW_* bits so that this kind of breakage won't happen again.
>>
>> Stable: The offending commit a82afdf was released with v2.6.32, so
>> this patch should be applied to all kernels since then but it must
>> _NOT_ be applied to kernels earlier than that.
>
> Would someone be so kind as to remind me how this problem manifests
> itself? I know I read this recently, but my memory and googling skills
> are both failing me. :(

See http://lkml.org/lkml/2010/7/28/315 and link inside.

Vlad
Vladislav Bolkhovitin [ Do, 05 August 2010 20:57 ] [ ID #2045558 ]

Re: [PATCH RESEND 1/2 block#for-linus] bio, fs: update READA andSWRITE to match the corresponding BI

Hi Tejun,

On 08/06/2010 02:45 AM, Jeff Moyer wrote:
> Tejun Heo<tj [at] kernel.org> writes:
>
>> Commit a82afdf (block: use the same failfast bits for bio and request)
>> moved BIO_RW_* bits around such that they match up with REQ_* bits.
>> Unfortunately, fs.h hard coded READ, WRITE, READA and SWRITE as 0, 1,
>> 2 and 3, and expected them to match with BIO_RW_* bits. READ/WRITE
>> didn't change but BIO_RW_AHEAD was moved to bit 4 instead of bit 1,
>> breaking READA and SWRITE.
>>
>> This patch updates READA and SWRITE such that they match the BIO_RW_*
>> bits again. A follow up patch will update the definitions to directly
>> use BIO_RW_* bits so that this kind of breakage won't happen again.
>>
>> Stable: The offending commit a82afdf was released with v2.6.32, so
>> this patch should be applied to all kernels since then but it must
>> _NOT_ be applied to kernels earlier than that.
If only this patch goes into stable, do we need to change RWA_MASK in
this patch also(I have seen you change it the 2/2)?

-#define RWA_MASK 2
+#define RWA_MASK 16

Regards,
Tao

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo [at] vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Tao Ma [ Fr, 06 August 2010 06:04 ] [ ID #2045645 ]

Re: [PATCH RESEND 1/2 block#for-linus] bio, fs: update READA andSWRITE to match the corresponding BI

Hello,

On 08/06/2010 06:04 AM, Tao Ma wrote:
> If only this patch goes into stable, do we need to change RWA_MASK in this patch also(I have seen you change it the 2/2)?
>
> -#define RWA_MASK 2
> +#define RWA_MASK 16

Yeah, Neil already pointed it out and updated patch has been posted
and merged.

Thanks.

--
tejun
Tejun Heo [ Fr, 06 August 2010 08:29 ] [ ID #2045646 ]

Re: [dm-devel] [PATCH RESEND 1/2 block#for-linus] bio, fs: updateREADA and SWRITE to match the corre

On Fri, Aug 06, 2010 at 12:04:43PM +0800, Tao Ma wrote:
> >>Stable: The offending commit a82afdf was released with v2.6.32, so
> >>this patch should be applied to all kernels since then but it must
> >>_NOT_ be applied to kernels earlier than that.
> If only this patch goes into stable, do we need to change RWA_MASK
> in this patch also(I have seen you change it the 2/2)?
>
> -#define RWA_MASK 2
> +#define RWA_MASK 16

I think RW_MASK and RWA_MASK should simply go away, they don't server
any use over just masking the correct REQ_* flags.
Christoph Hellwig [ Do, 19 August 2010 10:38 ] [ ID #2046282 ]
Linux » gmane.linux.raid » Re: [PATCH RESEND 1/2 block#for-linus] bio, fs: update READA and SWRITE to match the corresponding B

Vorheriges Thema: question on how to update the super-minor
Nächstes Thema: [mdadm git pull] "--assemble --scan" support for imsm